package bancosys.tec.persist.entities.domain;

import javax.persistence.Column;
import javax.persistence.Embeddable;

import jmine.tec.persist.annotation.Comment;

/**
 * @author piercio
 */
@Embeddable
public class EmbeddedItem {

    private String nome;

    private Integer valor;

    /**
     * Construtor.
     */
    public EmbeddedItem() {
        // vazio
    }

    /**
     * Construtor.
     * 
     * @param nome nome do Valor.
     * @param valor valor do Valor.
     */
    public EmbeddedItem(String nome, Integer valor) {
        this.nome = nome;
        this.valor = valor;
    }

    /**
     * @return o nome do Valor.
     */
    @Column(name = "NOME")
    @Comment(table = "PAI_COM_EMBEDDABLE", column = "NOME", value = "SEM COMENTARIOS.")
    public String getNome() {
        return this.nome;
    }

    /**
     * @return o valor.
     */
    @Column(name = "VALOR")
    @Comment(table = "PAI_COM_EMBEDDABLE", column = "VALOR", value = "SEM COMENTARIOS.")
    public Integer getValor() {
        return this.valor;
    }

    /**
     * Define o nome do Valor.
     * 
     * @param nome do Valor.
     */
    public void setNome(String nome) {
        this.nome = nome;
    }

    /**
     * Define o valor.
     * 
     * @param o valor.
     */
    public void setValor(Integer valor) {
        this.valor = valor;
    }

    @Override
    public int hashCode() {
        return this.nome.hashCode();
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (!(obj instanceof EmbeddedItem)) {
            return false;
        }
        return this.nome.equals(((EmbeddedItem) obj).nome);
    }

    @Override
    public String toString() {
        return this.nome + ": " + this.valor;
    }

}